#include <bits/stdc++.h>
#define ll int
#define pi pair<ll,ll>
#define endl "\n"
#define mod 1000000007
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll n,m;
cin>>n>>m;
vector<ll>arr(n);
ll mini=(n/m);
for(int i=0;i<n;i++){
cin>>arr[i];
}
vector<ll>freq(m+1,n/m);
vector<int>tochange;
for(int i=0;i<n;i++){
if(arr[i]>m || freq[arr[i]]==0){
tochange.push_back(i);
}else{
freq[arr[i]]--;
}
}
ll cnt=0;
for(int i=1;i<=m;i++){
while(freq[i]!=0){
cnt++;
int indx=tochange.back();
tochange.pop_back();
arr[indx]=i;
freq[i]--;
}
}
cout<<mini<<" "<<cnt<<endl;
for (int i=0;i<n;i++)
{
cout<<arr[i]<<" ";
}
return 0;
}
516. Longest Palindromic Subsequence | 468. Validate IP Address |
450. Delete Node in a BST | 445. Add Two Numbers II |
442. Find All Duplicates in an Array | 437. Path Sum III |
436. Find Right Interval | 435. Non-overlapping Intervals |
406. Queue Reconstruction by Height | 380. Insert Delete GetRandom O(1) |
332. Reconstruct Itinerary | 368. Largest Divisible Subset |
377. Combination Sum IV | 322. Coin Change |
307. Range Sum Query - Mutable | 287. Find the Duplicate Number |
279. Perfect Squares | 275. H-Index II |
274. H-Index | 260. Single Number III |
240. Search a 2D Matrix II | 238. Product of Array Except Self |
229. Majority Element II | 222. Count Complete Tree Nodes |
215. Kth Largest Element in an Array | 198. House Robber |
153. Find Minimum in Rotated Sorted Array | 150. Evaluate Reverse Polish Notation |
144. Binary Tree Preorder Traversal | 137. Single Number II |